package model

import (
	"gorm.io/gorm"
	"time"
)

type Video struct {
	Id             uint           `gorm:"column:id;type:int(11) UNSIGNED;primaryKey;not null;" json:"id"`
	VideoName      string         `gorm:"column:video_name;type:varchar(255);comment:视频名称;not null;" json:"video_name"`                             // 视频名称
	VideoUrl       string         `gorm:"column:video_url;type:varchar(255);comment:视频地址;not null;" json:"video_url"`                               // 视频地址
	Picture        string         `gorm:"column:picture;type:varchar(255);comment:封面图片;not null;" json:"picture"`                                   // 封面图片
	Learn          uint           `gorm:"column:learn;type:bigint(20);comment:一级专业范围：1.技能2.理论;not null;" json:"learn"`                              // 一级专业范围：1.技能2.理论
	Work           uint           `gorm:"column:work;type:bigint(20);comment:二级专业范围：1.变电运行2.变电维修;not null;" json:"work"`                            // 二级专业范围：1.变电运行2.变电维修
	CType          uint           `gorm:"column:c_type;type:bigint(20);comment:审核状态：1.待审核2.审核失败3.审核成功;default:NULL;" json:"c_type"`                 // 审核状态：1.待审核2.审核失败3.审核成功
	CreatedWorker  string         `gorm:"column:created_worker;type:varchar(255);comment:创建人工号;not null;" json:"created_worker"`                    // 创建人工号
	CreateWork     string         `gorm:"column:create_work;type:varchar(255);comment:创建人员;default:NULL;" json:"create_work"`                       // 创建人员
	AuthorNumber   string         `gorm:"column:author_number;type:varchar(255);comment:作者工号;not null;" json:"author_number"`                       // 作者工号
	Author         string         `gorm:"column:author;type:varchar(255);comment:作者;not null;" json:"author"`                                       // 作者
	Checkout       string         `gorm:"column:checkout;type:varchar(255);comment:审核人工号;default:NULL;" json:"checkout"`                            // 审核人工号
	Check          string         `gorm:"column:check;type:varchar(255);comment:审核人员;default:NULL;" json:"check"`                                   // 审核人员
	Keyword        string         `gorm:"column:keyword;type:varchar(255);comment:关键字;not null;" json:"keyword"`                                    // 关键字
	VideoIntroduce string         `gorm:"column:video_introduce;type:varchar(255);comment:视频描述;not null;" json:"video_introduce"`                   // 视频描述
	Look           uint           `gorm:"column:look;type:bigint(20) UNSIGNED;comment:观看范围：1.内部2.外部;not null;" json:"look"`                         // 观看范围：1.内部2.外部
	UsedType       uint           `gorm:"column:used_type;type:bigint(20) UNSIGNED;comment:启用状态：1.未启用2.正在使用;default:1;" json:"used_type"`           // 启用状态：1.未启用2.正在使用
	CreatedAt      time.Time      `gorm:"column:created_at;type:datetime(3);comment:创建时间;not null;default:CURRENT_TIMESTAMP(3);" json:"created_at"` // 创建时间
	UpdatedAt      time.Time      `gorm:"column:updated_at;type:datetime(3);comment:修改时间;not null;default:CURRENT_TIMESTAMP(3);" json:"updated_at"` // 修改时间
	DeletedAt      gorm.DeletedAt `gorm:"column:deleted_at;type:datetime(3);comment:删除时间;default:NULL;" json:"deleted_at"`                          // 删除时间
}

func (Video) TableName() string {
	return "video"
}
